import axios from 'axios'
// export const exportExcel = () => {
//     axios({
//         url: 'http://localhost:8080/employee/exportEmployees', // 使用本地8080端口
//         method: 'GET',
//         responseType: 'blob', // 重要：设置响应类型为 blob
//       })
//       .then(response => {
//         // 创建一个 Blob 对象
//         const blob = new Blob([response.data], {
//           type: 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet'
//         });

//         // 创建一个下载链接
//         const link = document.createElement('a');
//         link.href = URL.createObjectURL(blob);
//         link.download = 'employees.xlsx'; // 设置下载文件的名称
//         link.click();

//         // 释放 URL 对象
//         URL.revokeObjectURL(link.href);
//       })
//       .catch(error => {
//         console.error('下载文件失败:', error);
//       });
// }
export const exportExcel = ( data, filename) => {
    const excelHeader = [
        "编号", "姓名", "代码", "电子邮件", "手机号码", "身份证号", "生日", "性别",
        "民族代码", "政治面貌代码", "籍贯", "毕业院校", "专业代码", "最高学历代码",
        "最高学位代码", "居住地", "婚姻状况", "入职日期", "离职日期", "部门编号",
        "岗位级别编号", "用户编号", "状态"
    ];
    
    const fieldMapping = {
        "编号": "id",
        "姓名": "name",
        "代码": "code",
        "电子邮件": "email",
        "手机号码": "mobile",
        "身份证号": "idCard",
        "生日": "birthday",
        "性别": "sex",
        "民族代码": "nationCode",
        "政治面貌代码": "politicalCode",
        "籍贯": "nativePlace",
        "毕业院校": "graduateSchool",
        "专业代码": "majorCode",
        "最高学历代码": "highestEducationCode",
        "最高学位代码": "highestDegreeCode",
        "居住地": "habitation",
        "婚姻状况": "maritalStatus",
        "入职日期": "entryDate",
        "离职日期": "leaveDate",
        "部门编号": "deptId",
        "岗位级别编号": "postLevelId",
        "用户编号": "userId",
        "状态": "status"
    };
    // 创建 a 标签来下载 Excel
    const a = document.createElement('a');
    // 将表头和数据合并
    const combinedData = [excelHeader, ...data.map(row => {
        // 将对象转换为数组，顺序与 excelHeader 一致
        return excelHeader.map(header => row[fieldMapping[header]]);
    })];

    const worksheet = combinedData.map(row => row.join('\t')).join('\n');

    // 设置下载文件名
    a.download = filename || 'test.xls';
    a.href = URL.createObjectURL(new Blob([worksheet], { type: 'application/vnd.ms-excel;charset=utf-8' }));
    a.click();
    URL.revokeObjectURL(a.href);
    a.remove();
};